using System;
using System.Collections;
using System.Collections.Generic;

using DATA.Base;

namespace DATA.BusinessObjects
{
    public partial class Phieuthuephong : BusinessBase<string>
    {
        #region Declarations

		private System.DateTime? _ngayThuePhong = null;
		private System.DateTime? _ngayTraPhong = null;
		private float? _donGiaThue = null;
		
		private Phong _phong = null;
		
		private IList<Chitiethoadon> _chitiethoadons = new List<Chitiethoadon>();
		private IList<Khachhang> _khachhangs = new List<Khachhang>();
		
		#endregion

        #region Constructors

        public Phieuthuephong() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_ngayThuePhong);
			sb.Append(_ngayTraPhong);
			sb.Append(_donGiaThue);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual System.DateTime? NgayThuePhong
        {
            get { return _ngayThuePhong; }
			set
			{
				OnNgayThuePhongChanging();
				_ngayThuePhong = value;
				OnNgayThuePhongChanged();
			}
        }
		partial void OnNgayThuePhongChanging();
		partial void OnNgayThuePhongChanged();
		
		public virtual System.DateTime? NgayTraPhong
        {
            get { return _ngayTraPhong; }
			set
			{
				OnNgayTraPhongChanging();
				_ngayTraPhong = value;
				OnNgayTraPhongChanged();
			}
        }
		partial void OnNgayTraPhongChanging();
		partial void OnNgayTraPhongChanged();
		
		public virtual float? DonGiaThue
        {
            get { return _donGiaThue; }
			set
			{
				OnDonGiaThueChanging();
				_donGiaThue = value;
				OnDonGiaThueChanged();
			}
        }
		partial void OnDonGiaThueChanging();
		partial void OnDonGiaThueChanged();
		
		public virtual Phong Phong
        {
            get { return _phong; }
			set
			{
				OnPhongChanging();
				_phong = value;
				OnPhongChanged();
			}
        }
		partial void OnPhongChanging();
		partial void OnPhongChanged();
		
		public virtual IList<Chitiethoadon> Chitiethoadons
        {
            get { return _chitiethoadons; }
            set
			{
				OnChitiethoadonsChanging();
				_chitiethoadons = value;
				OnChitiethoadonsChanged();
			}
        }
		partial void OnChitiethoadonsChanging();
		partial void OnChitiethoadonsChanged();
		
		public virtual IList<Khachhang> Khachhangs
        {
            get { return _khachhangs; }
            set
			{
				OnKhachhangsChanging();
				_khachhangs = value;
				OnKhachhangsChanged();
			}
        }
		partial void OnKhachhangsChanging();
		partial void OnKhachhangsChanged();
		
        #endregion
    }
}
